package com.alibaba.citrus.ots.common.util;

import com.alibaba.cz.base.tool.log.Log;
import org.apache.commons.lang3.StringUtils;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * @author: qiaojiange
 * @create: 2021/12/05
 * @Description 请描述类的业务用途
 */
public class PriceConvertUnit {

    private static Log log = Log.getLogger(PriceConvertUnit.class);

    /**
     * 转换
     *
     * @param price
     * @param divisor
     * @return
     */
    public static String convert(String price, String divisor) {
        if (StringUtils.isBlank(price) || StringUtils.isBlank(divisor)) {
            log.error("价格参数转换错误，参数price={},divisor={}", price, divisor);
            return "";
        }
        BigDecimal tempPrice = new BigDecimal(price);

        return tempPrice.divide(new BigDecimal(divisor))
                .setScale(2, RoundingMode.HALF_DOWN).toString();
    }

    /**
     * 元转分
     * @param price
     * @param
     * @return
     */
    public static Long convertToCent(String price) {
        if (StringUtils.isBlank(price) ) {
            log.error("价格参数转换错误，参数price={}", price);
            return null;
        }
        BigDecimal bigDecimal = new BigDecimal(price).setScale(2);
        return bigDecimal.multiply(new BigDecimal(100)).longValue();
    }
    /**
     * 分 转元
     * @param price
     * @param
     * @return
     */
    public static String convertToYuan(String price) {
        if (StringUtils.isBlank(price) ) {
            log.error("价格参数转换错误，参数price={}", price);
            return null;
        }
        return BigDecimal.valueOf(Long.valueOf(price)).divide(new BigDecimal(100)).toString();
    }

}
